package com.power.powercash;

/**
 *
 * @author f6036477
 */
class ConsultaCompraCartao extends ConsultaPagamento
{

  private CompraCartao compra;

  private boolean empty = false;


  public ConsultaCompraCartao()
  {
    super();
    compra = null;
  }


  public ConsultaCompraCartao(CompraCartao c)
  {
    this();
    this.setCompraCartao(c);
  }


  public CompraCartao getCompraCartao()
  {
    return compra;
  }


  public void setCompraCartao(CompraCartao c)
  {
    super.setPagamento(c);
    this.compra = c;
  }


  public void setEmptyQuery(boolean emptyQuery)
  {
    empty = emptyQuery;
  }


  public boolean isEmptyQuery()
  {
    return empty;
  }


  public boolean match(CompraCartao c)
  {
    if(c != null && empty) return true;

    if(compra == null || c == null)
      return false;

    boolean pagto = super.match(c);

    if(!pagto) return false;

    boolean cartao = false;

    if(compra.getCartao() != null
        && c.getCartao() != null)
      cartao = new ConsultaCartao(compra.getCartao()).match(c.getCartao());
    else if(compra.getCartao() == null)
      cartao = true;

    return cartao && pagto;
  }


  @Override
  public boolean match(Pagamento p)
  {
    if(!(p instanceof CompraCartao))
      return super.match(p);

    return this.match((CompraCartao) p);
  }

}
